The present invention relates generally to systems and methods for magnifying a digitally encoded image, and particularly to a system and method for magnifying a portion of computer screen image while keeping the image sharp.
Referring to FIG. 1, when an image such as a computer screen image is magnified, such as by a factor of four (i.e., the width and height of the image are each doubled), a number of technical issues must be resolved in order to produce a satisfactory result. First, there is the basic issue that many pixels in the magnified image will initially have no assigned value, and therefore the values (e.g., color, or gray scale values) for those pixels will have to be generated from the original pixel information. For a magnification factor of four, three-fourths of the pixels in the magnified image will initially have no value. More generally, the number of pixels that initially have no value will depend on the magnification factor. The process of generating color values for these pixels is usually called interpolation.
There are literally hundreds of articles and patents addressing interpolation techniques for handling image data magnification and related problems. Some interpolation techniques are optimized for speed of operation, while others for optimized to preserve a particular characteristic of the original image, such as first or second or even third order gradients.
The present invention introduces a new tool: a user moveable and tuneable screen image magnifying glass, implemented in computer software. The position of the magnifying glass is determined by the user, for instance using a mouse or track ball pointing device. In some implementations the user may also control the size of the magnifying window. More importantly, the user has easy access to one or more control parameters that control the sharpness of the magnified image.
One of the most frequent complaints heard concerning magnified digital images is that they are fuzzyxe2x80x94that is, that the magnified image is not as sharp as the original image. Stated in technical terms, this means that color gradients in the magnified image are shallower than in the original image. During the development of previous image magnification tools, the inventors have noticed that the methodologies for generating sharp magnified images vary, depending on the type of image being magnified. For instance, when magnifying text, simple pixel replication generates relatively sharp magnified images of acceptable quality. However, simple pixel replication is totally unacceptable for magnifying photographs and other images with xe2x80x9ccontinuouslyxe2x80x9d varying colors and shading because pixel replication, while preserving sharp edges in the image, converts gradual color and brightness changes into user visible step functions, sometimes called xe2x80x9cblocky artifacts.xe2x80x9d
U.S. patent application Ser. No. 09/232,174, file Jan. 15, 1999, entitled xe2x80x9cImage Data Interpolation System and Method,xe2x80x9d introduced a number of new techniques for magnifying photographs and other images with xe2x80x9ccontinuouslyxe2x80x9d varying colors and shading, while preserving both gradual color and intensity gradients and sharp edges in the image. U.S. patent application Ser. No. 09/232,174, is hereby incorporated by reference as background information. The present invention uses and extends those techniques by introducing adjustable highpass filters for sharpening magnified images.
In summary, the present invention is an image magnifying method and apparatus, suitable for magnifying a portion of an image displayed on a computer display device. When used as computer screen magnifier, an image corresponding to image data stored in a screen buffer is displayed on the display device. The user of the computer selects a first region (called a magnification window) of the displayed image, for instance using a mouse or trackball pointer device.
Image data from the screen buffer for the user selected magnification window is copied to a first buffer. A magnified image is generated from the copied image data and the magnified image is stored in the screen buffer so as to replace the copied image data. When the user moves the screen cursor, or otherwise selects a second magnification window that overlaps with the first, the magnification application copies image data for a combined window, covering both the first and second magnification windows, from the screen buffer to a second buffer. The image data stored in the first buffer is copied into the portion of the second buffer corresponding to the first magnification window, at which point the second buffer contains unmagnified data for the entire combined window.
The application generates a magnified image for the second magnification window and stores it in a portion of the second buffer corresponding to the second magnification window. Finally, the portion of the second image buffer corresponding to the combined window is copied into the corresponding portion of the screen buffer. As a result, the magnification window moves smoothly from the first to the second window, without creating any flashing artifacts.
In a preferred embodiment, the magnified images are generated using a magnification filter that includes lowpass filter, a highpass filter, and an adder that generates a weighted sum of image data generated by the lowpass and highpass filters. The image data generated by the highpass filter is weighted by sharpness parameter S prior to summing by the adder with the image data generated by the lowpass filter.